-module(active_storage).

-export([behaviour_info/1]).

behaviour_info(exports) ->
	[{open,2}, {lookup,2}, {enter,3}, {delete,2}, {close,1}];
behaviour_info(_) ->
	undefined.

% storage_data() :: term()
% ignored() :: term()
%
% open(Name :: term(), Options :: [term()]) -> storage_data()
% lookup(Data :: storage_data(), Key :: term()) -> {storage_data(), {'value', term()} | 'none'}
% enter(Data :: storage_data(), Key :: term(), Value :: term()) -> storage_data()
% delete(Data :: storage_data(), Key :: term()) -> ignored()
% close(Data :: storage_data()) -> 'ok' | {'error', term()}

